GPS navigation using interacting multiple model (IMM) estimator and probabilistic data association filter (PDAF)

ABSTRACT

A method for GPS navigation which uses an interacting multiple-model (IMM) estimator with a probabilistic data association filter (PDAF) improves navigation performance. The method includes (a) providing two or more models of GPS navigation, with each model characterized by a model state vector which is updated periodically, (b) providing for each model a corresponding filter for deriving, for each period, a current value for the corresponding model state vector based on current measurements made on parameters affecting the corresponding state vector; and (c) applying an interacting multiple model (IMM) estimator to provide, for each period, a current value for a system state vector using the current values of the model state vectors for that period and their corresponding filters. Each model state vector may include one or more of the following: variables: 3-dimensional position, 3-dimensional velocity, satellite clock bias, satellite clock drifts and one or more other satellite parameters. The current value of the system state vector may be a weighted average of the current values of the model state vectors, where the weights are a set of mode probabilities. In addition, one or more of the filters is a probabilitic data association filter (PDAF).

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to processing of global positioning systems (GPS) signals. In particular, the present invention relates to processing GPS signals in the presence of dynamically changing, false observations and multipath signal interference.

2. Discussion of the Related Art

Conventional GPS navigation may use a Kalman filter to improve accuracy in position determination using pseudorange and other measurements. This approach is based on a single mathematical model of the GPS receiver and its environment. Often, such a model assumes both a relatively constant velocity for the GPS receiver, and a static measurement environment. In practice, such assumptions are often found to be invalid. For example, the GPS receiver may be moving at constant velocity only for very limited time periods, with time periods of acceleration and deceleration in between. A GPS receiver also often changes its direction of travel. The appropriate model for each of these circumstances may be different. Transitions from one model to another model are also important. Thus, navigation based on a single Kalman filter is at best a compromise, and results in poor navigation performance.

In conventional GPS processing, multipath effects (i.e., the super-positioning of the direct line-of-sight signal path and indirect signal paths) are often present, especially in an urban canyon environment. From the Kalman's filter point of view, multipath effects affect the statistics in the measurement environment, thereby changes measurement accuracy (e.g., increasing measurement noise variance). Multi-path effects are typically time-varying, intermitten and random. In such an environment, a static multipath model is inappropriate. In the presence of multipath effects, the measurement error is likely positively biased, with an increased variance relative to the case in which multipath effects are not present. A Kalman filter designed for an environment without multipath effects does not perform well in the presence of multipath effects.

Further, multipath effects and other acquisition errors often cause severe noise in the measured GPS parameters, rendering such measurements unsuitable for use in the Kalman filter. These invalid measurements may lead to very large navigation error, thus significantly degrading the Kalman filter's performance. A complicated filtering of the measured parameters and noise-rejection before the measurements can be used in a Kalman filter. However, proper criteria for accepting or rejecting the measurements are not always clear or known, so that a proper measurement may be improperly rejected, and a false measurement may be improperly accepted. Even with good acceptance and rejection criteria, different weights should be given to navigation data under different collection conditions. For example, one measurement found barely acceptable should not be given the same weight as a measurement found well within the region of acceptance.

SUMMARY OF THE INVENTION

According to one embodiment of the present invention, a method for GPS navigation which uses an interacting multiple-model (IMM) estimator with a probabilistic data association filter (PDAF) improves navigation performance.

In one embodiment of the present invention, the method includes (a) providing two or more models of GPS navigation, with each model characterized by a model state vector which is updated periodically, (b) providing for each model a corresponding filter for deriving, for each period, a current value for the corresponding model state vector based on current measurements made on parameters affecting the corresponding state vector; and (c) applying an interacting multiple model (IMM) estimator to provide, for each period, a current value for a system state vector using the current values of the model state vectors for that period and their corresponding filters. Each model state vector may include one or more of the following: variables: 3-dimensional position, 3-dimensional velocity, clock bias, clock drifts and one or more other satellite parameters. The current value of the system state vector may be a weighted average of the current values of the model state vectors, where the weights are a set of mode probabilities.

According to one embodiment of the present invention, the IMM estimator calculates mixing probabilities for each model based on previous measurements made on the parameters. In each cycle, prior to deriving the current values of the model state vectors in the filters, the IMM estimator uses the mixing probabilities to calculate an initial value for each model state vector by weighting the current model state vectors of the immediately previous cycle. Using the current values of the model state vectors derived by the filters, the IMM estimator calculates the mixing probabilities for use in the next cycle, and the mode probabilities for providing the current value of the system state vector.

According to another aspect of the present invention, one or more of the filters is a probabilitic data association filter (PDAF). The PDAF provides (i) a predicted value for the corresponding model state vector based on internal parameters of the model, and (ii) the current value of the model state vector by updating the predicted value of the model state vector, based on the current measurements made. The PDAF may also apply a statistical difference between a correct observation and a false observation to the current measurements made to derive the current value of the model state vector. The statistical difference may be expressed by a first probability density function for a correct observation, and a second probability density function for a false observation. The probability density functions may include a function of a distance in standard deviations between one of the current measurements and its nominal value. Alternatively, the probability density functions may each be a function of a measured value for the parameters affecting the model state vector. Possible probability density functions for correct observation include a Gaussian distribution, a Rayleigh distribution or an exponential distribution. Other possible probability density functions include a uniform distribution, a linear distribution, an exponential distribution, or a combination of a uniform distribution and a linear distribution.

The present invention is applicable to models pertaining to multipath effects, environments with low signal-to-noise ratios, a GPS receiver moving at constant velocity, or a GPS receiver having motions that involve non-constant velocities (e.g., acceleration, deceleration, or making turns).

The present invention is better understood upon consideration of the detailed description below in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows an IMM estimator with a PDAF (i.e., IMM-PDAF 100), according to one embodiment of the present invention.

FIG. 2 shows a Gaussian probability density function 202, suitable for modeling correct observations, and a uniform probability density function 201, suitable for modeling false observations, according to one embodiment of the present invention.

FIG. 3 shows a linear probability density function 302, suitable for modeling amplitudes that are correct observations, and an exponential probability density function 301, suitable for modeling amplitudes of false observations, according to one embodiment of the present invention.

FIG. 4 illustrates PDF 401, which models false observations due to signal multipaths, and Gaussian PDF 402, which models correct observations, according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An interacting multiple-model (IMM) estimator uses several filters, rather than a single Kalman filter. According to one embodiment, an IMM estimator may be designed specifically for specific navigation circumstances. The final output of an IMM estimator is statistically combined from the output data of the multiple filters. In an IMM estimator, information may be exchanged between different filters, weights for the component filters may be dynamically calculated, giving appropriate weights to the component filters according to the prevailing navigation circumstances. Therefore, the final output of an IMM follows the best model. For each component filter of an IMM estimator, a probabilistic data association filter (PDAF) may be used, in place of a single Kalman filter. The PDAF is an extension of a standard Kalman filter, with the ability to handle false or multiple observations probabilistically.

FIG. 1 shows an IMM estimator with a PDAF (i.e., IMM-PDAF 100), according to one embodiment of the present invention. As shown in FIG. 1, IMM-PDAF 100 includes an interacting/mixing filter 101, which receives updated state vectors {circumflex over (X)}¹(k−1|k−1) and {circumflex over (X)}²(k−1|k−1) at time k−1 for models M¹ and M² respectively, together with corresponding error variance P¹(k−1|k−1) and P² (k−1|k−1). In a GPS application, for example, state vectors {circumflex over (X)}¹ and {circumflex over (X)}² may each be a state vector having elements representing, 3-dimensional position, 3-dimensional velocity, clock bias, clock drifts and other satellite parameters: {circumflex over (X)}=[x {dot over (x)} y {dot over (y)} z ż cΔt cΔ{dot over (t)} SV _(bias1) . . . SV _(biasN)]^(T)

Models M¹ and M² may be, for example, models where multi-path effects dominate, or models where low signal-to-noise ratio (SNR) conditions dominate, respectively.

Interacting/mixing filter 101 receives also mixing probabilities μ_(i|j)(k−1|k−1) to provide mixing initial conditions {circumflex over (X)}⁰¹(k−1|k−1) and {circumflex over (X)}⁰² (k−1|k−1). Mixing probabilities μ_(i|j)(k−1|k−1) represent the probabilities that model M^(j) was in effect at time k−1 given that model M^(i) is in effect at time k and measurements z(k−1) were observed up to time k−1.

In one embodiment, mixing probabilities μ_(i|j)(k−1|k−1) may be obtained from mode probabilities μ_(i)(k−1) and mode transition probabilities p_(ij):

${\mu_{i|j}\left( {k - 1} \middle| {k - 1} \right)} = {\frac{1}{{\overset{\_}{c}}_{j}}p_{ij}{\mu_{i}\left( {k - 1} \right)}}$

where

$\overset{\_}{c} = {\sum\limits_{i = 1}^{r}\;{p_{ij}{\mu_{i}\left( {k - 1} \right)}}}$ is the normalizing factor for the r models.

The mixing initial conditions {circumflex over (X)}⁰¹(k−1|k−1) and {circumflex over (X)}⁰²(k−1|k−1) are fed respectively into probability data association filters (PDAF) 102 and 103 representing models M¹ and M², each receiving measurements z(k) observed up to time k. PDAFs 102 and 103 may each be, for example, a Kalman filter-like filter, providing for time k updated state vectors {circumflex over (X)}¹(k|k) and {circumflex over (X)}²(k|k), and corresponding error variance P¹(k|k) and P²(k|k), respectively. In addition, PDAFs 102 and 103 provide likelihood functions Λ¹ and Λ². Likelihood function Λ^(j) representing the conditional probabilities for observing measurements z(k) up to time k, given model M^(j) is in effect at time k and measurements z(k−1) up to time k−1.

The likelihood functions are used to derive the mode probabilities μ_(i)(k−1) and the mixing probabilities μ_(i|j)(k−1|k−1). In one embodiment, mode probabilities μ_(i)(k−1) are given by:

${\mu_{i}(k)} = {\frac{1}{c}{\Lambda^{i}(k)}\overset{\_}{c}}$

where

$c = {\sum\limits_{i = 1}^{r}\;{{\Lambda^{i}(k)}\overset{\_}{c}}}$ is a normalization factor.

The updated combined state vector {circumflex over (X)}(k|k) at time k and its corresponding error variance P(k|k) are output. Note that updated combined state vector {circumflex over (X)}(k|k) and its corresponding error variance P(k|k) are not used in the recursive algorithm. In one embodiment, the combined state vector {circumflex over (X)}(k|k) at time k its corresponding error variance P(k|k) may be given by:

$\mspace{79mu}{{\hat{X}\left( k \middle| k \right)} = {\sum\limits_{j = 1}^{r}\;{{{\hat{X}}^{j}\left( k \middle| k \right)}{\mu_{j}(k)}}}}$ ${P\left( k \middle| k \right)} = {\sum\limits_{j = 1}^{r}\;{{\mu_{j}(k)}\left\lbrack {{P^{j}\left( k \middle| k \right)} + {\left\lbrack {{{\hat{X}}^{j}\left( k \middle| k \right)} - {\hat{X}\left( k \middle| k \right)}} \right\rbrack*\left\lbrack {{{\hat{X}}^{j}\left( k \middle| k \right)} - {\hat{X}\left( k \middle| k \right)}} \right\rbrack^{T}}} \right\rbrack}}$

PDAFs 102 and 103 may each have the following prediction equations for the state vector, the associated error covariance P^(0j), a measurement estimate and the innovation covariance, respectively, as in a standard Kalman filter: {circumflex over (X)} ^(0j)(k|k−1)=F ^(j)(k){circumflex over (X)} ^(0j)(k−1|k−1) P ^(0j)(k|k−1)=F ^(j)(k)P ^(0j)(k−1|k−1)F ^(j)(k)^(T) +Q ^(i)(k−1) {circumflex over (z)}(k|k−1)=H ^(j)(k){circumflex over (X)} ^(0j)(k|k−1) S ^(j)(k)=H ^(j)(k)P ^(0j)(k|k−1)H ^(j)(k)^(T) +R ^(j)(k)

where F^(j), Q^(j), H^(j), and R^(j) are the state transition model, the noise covariance matrix, the measurement model, and the residue covariance matrix for model M^(j), respectively.

The updated state vectors {circumflex over (X)}^(j)(k|k) and its error covariance P^(j)(k|k) for model M^(j) may be obtained using measurement z(k) according to the following updating equations: {circumflex over (X)} ^(j)(k|k)={circumflex over (X)} ^(0j)(k−k−1)+W ^(j)(k)[z(k)−{circumflex over (z)}(k|k−1)] P ^(j)(k|k)=P ^(0j)(k|k−1)−W ^(j)(k)S ^(j)(k)W ^(j)(k)^(T)

where W^(j) is the gain of the filter. Filter gain W^(j) may be given by: W ^(j)(k)=P ^(0j)(k|k−1)H ^(j)(k)^(T) [S ^(j)(k)]⁻¹

The algorithm described above may be used to probabilistically distinguish between a correct observation and a false observation, using the different statistical characteristics between the two types of observations. For example, correct observations may be modeled by a Gaussian probability density function, while false observations may be better modeled by a uniform distribution. FIG. 2 shows a Gaussian probability density function 202, suitable for modeling correct observations, and a uniform probability density function 201, suitable for modeling false observations. Each PDAF makes “soft” decisions, rather than black-and-white “hard” decision. A reasonable soft decision takes advantage of more information, as a hard decision is merely a special case of a soft decision.

In one embodiment, false or invalid measurements are represented by uniform distribution 201 of FIG. 2, and correct or valid measurements are represented by Gaussian distribution 202, respectively. In that embodiment, the residual of observation exceeds a predetermined value of the innovation variance (e.g., five standard deviations, or “5-sigma”), the probability that the observation is invalid is assigned the probability of 1. That is, [z(k)−z(k|k−1)]^(T) S(k)⁻¹ [z(k)−z(k|k−1)]≦γ

where γ is the gate threshold (for 5-sigma, γ is 25).

The probability density function (PDF) for a correct observation is given by: P _(D) P _(G) ⁻¹ N[z(k)|z(k|k−1),S(k)]=P _(D) P _(G) ⁻¹ N[z(k)−z(k|k−1)|0,S(k)]

where P_(D) is the probability of detection, P_(G) ⁻¹ is the normalization factor to make the Gaussian PDF unity in the validation area.

Similarly, because an invalid observation is assumed to have a uniform distribution¹, the PDF is given by: ¹In other embodiments, other PDFs may be used

$\left( {1 - P_{D}} \right)\frac{1}{2{{\gamma\;{S(k)}}}^{1/2}}$

Therefore, the association probabilities β₁(k) and β₀(k) are the probabilities that an observation is valid or invalid, respectively. According to the Total Probability Theorem, association probabilities β₁(k) and β₀(k) are given by:

$\begin{matrix} {{\beta_{1}(k)} = \frac{P_{D}P_{G}^{- 1}\frac{1}{{{2\pi\;{S(k)}}}^{1/2}}{\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}{{\left( {1 - P_{D}} \right)\frac{1}{2{{\gamma\;{S(k)}}}^{1/2}}} + {P_{D}P_{G}^{- 1}\frac{1}{{{2\pi\;{S(k)}}}^{1/2}}{\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}}} \\ {= \frac{{\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}{{\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}} + {\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}} \end{matrix}$ ${\beta_{0}(k)} = \frac{\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}}{{\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}} + {\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}}$ Or ${\beta_{i}(k)} = \left\{ {{\begin{matrix} \frac{b}{b + e_{1}} & {{i = 0},{{invalid}\mspace{14mu}{observation}}} \\ \frac{e_{1}}{b + e_{1}} & {{i = 1},{{valid}\mspace{14mu}{observation}}} \end{matrix}{where}e_{1}} = {{{\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}b} = {\left( \frac{2\pi}{\gamma} \right)^{\frac{1}{2}}\frac{1}{2}\frac{\left( {1 - P_{D}} \right)P_{G}^{- 1}}{P_{D}}}}} \right.$

Consequently, the output state vector for model M^(i) is given by:

${{\hat{X}}^{i}\left( k \middle| k \right)} = {\sum\limits_{j = 0}^{1}\;{{{\hat{X}}_{j}^{i}\left( k \middle| k \right)}{\beta_{j}(k)}}}$

For a false observation, the state vector is not updated: {circumflex over (X)} ₀ ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)

For a valid observation, the state vector is updated in the same manner as a Kalman filter: {circumflex over (X)} ₁ ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)+W(k)[z(k)−z(k|k−1)]

where gain W(k) is given by: W(k)=P ⁰²(k|k−1)H(k)^(T) S(k)⁻¹, as in a Kalman filter.

Therefore updated state vector {circumflex over (X)}^(i)(k|k) and error variance P^(i)(k|k) are given by: {circumflex over (X)} ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)+W(k)β₁(k)[z(k)−z(k|k−1)] P ^(i)(k|k)=β₀(k)P ^(i)(k|k−1)+(1−β₀(k))P ^(c)(k|k)+{tilde over (P)}(k) where P ^(c)(k|k)=P ^(0i)(k|k−1)−W(k)S(k)W(k)^(T) {tilde over (P)}(k)=W(k)[β₁(k)v(k)v(k)^(T)−β₁(k)v(k)v(k)^(T)β₁(k)]W(k)^(T)

Overall, the PDAF is very similar to the standard Kalman filter. The PDAF is very simple, easy to understand, and also very computational efficient, with about 50% than a Kalman filter. Note that the PDAF algorithm can also handle multiple observations. Assuming there are m observations in the validation region. The conventional Kalman filter can only choose one as the correct measurement, while the PDAF can probabilistically associate all measurements to the filter. Besides this, the PDAF also considered the probability that all these m observations are false (i.e., the PDAF handles m+1 hypotheses). In this case, the following equations may be used for model M^(i):

$\mspace{20mu}{{{\overset{\Cap}{X}}^{i}\left( k \middle| k \right)} = {{{\overset{\Cap}{X}}^{i}\left( k \middle| {k - 1} \right)} + {{W(k)}{v(k)}}}}$ $\mspace{20mu}{{v(k)} = {\sum\limits_{i = 1}^{m}\;{{\beta_{i}(k)}\left\lbrack {{z_{i}(k)} - {z\left( k \middle| {k - 1} \right)}} \right\rbrack}}}$ ${\overset{\sim}{P}(k)} = {{{W(k)}\left\lbrack {\sum\limits_{i = 1}^{m}\;\left\lbrack {{{\beta_{i}(k)}{v_{i}\left( {k - 1} \right)}{v_{i}\left( {k - 1} \right)}^{T}} - {{v\left( {k - 1} \right)}{v\left( {k - 1} \right)}^{T}}} \right\rbrack} \right\rbrack}{W(k)}^{T}}$ $\mspace{20mu}{{\beta_{i}(k)} = \left\{ \begin{matrix} \frac{e_{i}}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 1},2,{\ldots\mspace{11mu} m}} \\ \frac{b}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 0},{false}} \end{matrix} \right.}$

In this multiple observation case (or other very low SNR scenarios), the PDAF algorithm out-performs the Kalman filter significantly. In one embodiment, six observations were made, so that seven hypotheses were tested (i.e., one of the six observations are correct or all of the observations are false). Assuming that the probability density function of a correct measurement is provided by a Gaussian distribution, and assuming that, when the residual of observation exceeds a predetermined value of the innovation variance (e.g., five standard deviations, or “5-sigma”), the probability that the observation is invalid is assigned the probability of 1. That is, [z(k)−z(k|k−1)]^(T) S(k)⁻¹ [z(k)−z(k|k−1)]≦γ

where γ is the gate threshold (for 5-sigma, γ is 25).

The probability density function (PDF) for a correct observation is given by: P _(D) P _(G) P _(G) ⁻¹ N[z(k)|z(k|k−1),S(k)]=P _(D) P _(G) P _(G) ⁻¹ N[z(k)−z(k|k−1)|0,S(k)]

where P_(D) is the probability of detection, P_(G) is the Gaussian cumulative distribution function (CDF) within the 5-sigma region, P_(G) ⁻¹ is the normalization factor to make the Gaussian PDF unity in the validation area. Let σ≡|S(k)|^(1/2), the PDF for the correct association for measurement i is given by

$\frac{P_{D}{\mathbb{e}}^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{\sqrt{2\pi}\sigma}$

Assuming that an invalid observation has a uniform distribution², the PDF for a false observation is given by: ²In other embodiments, other PDFs may be used

${\left( {1 - {P_{D}P_{G}}} \right)\frac{1}{2{{\gamma\;{S(k)}}}^{1/2}}} = \frac{\left( {1 - {P_{D}P_{G}}} \right)}{10\;\sigma}$

Therefore, the association probabilities β_(i)(k) and β₀(k) are the probabilities that that i^(th) observation is valid and none of the observations are valid, respectively. According to the Total Probability Theorem, association probabilities β₂(k) and β₁(k) are given by:

$\begin{matrix} {{\beta_{i}(k)} = \frac{{\frac{P_{D}{\mathbb{e}}^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{\sqrt{2\pi}\sigma}\left\lbrack \frac{1}{10\sigma} \right\rbrack}^{5}}{{\left( {1 - {P_{D}P_{G}}} \right)\left\lbrack \frac{1}{10\sigma} \right\rbrack}^{6} + {\sum\limits_{j = 1}^{6}\;{\frac{P_{D}{\mathbb{e}}^{\frac{- {\lbrack{{z_{j}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{\sqrt{2\pi}\sigma}\left\lbrack \frac{1}{10\;\sigma} \right\rbrack}^{5}}}} \\ {= \frac{{\mathbb{e}}^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}{{\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}} + {\sum\limits_{j = 1}^{6}\;{\mathbb{e}}^{\frac{- {\lbrack{{z_{j}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}}} \end{matrix}$ ${\beta_{0}(k)} = \frac{\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}}{{\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}} + {\sum\limits_{j = 1}^{6}\mspace{11mu}{\mathbb{e}}^{\frac{- {\lbrack{{z_{j}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}}}$ Or ${\beta_{i}(k)} = \left\{ {{\begin{matrix} \frac{e_{i}}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 1},2,{\ldots\mspace{11mu} m}} \\ \frac{b}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 0},{false}} \end{matrix}{where}e_{1}} = {{{\mathbb{e}}^{\frac{- {\lbrack{{z_{i}{(k)}} - {z{({k|{k - 1}})}}}\rbrack}^{2}}{2\sigma^{2}}}b} = {\frac{\sqrt{2\pi}}{10}\frac{\left( {1 - {P_{D}P_{G}}} \right)}{P_{D}}}}} \right.$

Of course, the state and covariance updates follow from the general equations discussed above, for model M^(i):

For a false observation, the state vector is not updated: {circumflex over (X)} ₀ ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)

If the j^(th) observation is valid, the state vector is updated in the same manner as a Kalman filter: {circumflex over (X)} _(j) ^(i)(k|k)={circumflex over (X)} ^(0i)(k|k−1)+W(k)[z(k)−z(k|k−1)]

where gain W(k) is given by: W(k)=P ^(0i)(k|k−1)H(k)^(T) S(k)⁻¹, as in a Kalman filter.

Therefore updated state vector {circumflex over (X)}^(i)(k|k) and error variance P^(i)(k|k) are given by:

$\mspace{20mu}{{{\hat{X}}^{i}\left( k \middle| k \right)} = {{{\hat{X}}^{0i}\left( k \middle| {k - 1} \right)} + {{W(k)}{\sum\limits_{j = 1}^{6}\;{\beta_{j}\left\lbrack {{z(k)} - {z\left( k \middle| {k - 1} \right)}} \right\rbrack}}}}}$ $\mspace{20mu}{{P^{i}\left( k \middle| k \right)} = {{{\beta_{0}(k)}{P^{i}\left( k \middle| {k - 1} \right)}} + {\left( {1 - {\beta_{0}(k)}} \right){P^{c}\left( k \middle| k \right)}} + {\overset{\sim}{P}(k)}}}$   where   P^(c)(k|k) = P^(0i)(k|k − 1) − W(k)S(k)W(k)^(T) ${\overset{\sim}{P}(k)} = {{{W(k)}\left\lbrack {\sum\limits_{i = 1}^{6}\;\left\lbrack {{{\beta_{i}(k)}{v_{i}\left( {k - 1} \right)}{v_{i}\left( {k - 1} \right)}^{T}} - {{v\left( {k - 1} \right)}{v\left( {k - 1} \right)}^{T}}} \right\rbrack} \right\rbrack}{W(k)}^{T}}$ $\mspace{20mu}{{v(k)} = {\sum\limits_{i = 1}^{6}\;{{\beta_{i}(k)}\left\lbrack {{z_{i}(k)} - {z\left( k \middle| {k - 1} \right)}} \right\rbrack}}}$

In one embodiment of the present invention, measured SNR information may be used in the PDAF. In that embodiment, the measured amplitude information (CN0 or other amplitude information) can also be used in PDAF. That is, an observed high SNR is more likely come from a correct measurement. There is some statistical difference in the amplitude between correct and false observations. FIG. 3 shows a linear probability density function 302, suitable for modeling amplitudes that are valid observations, and an exponential probability density function 301, suitable for modeling amplitudes of false observations, according to one embodiment of the present invention.

If the measured amplitude is a_(i)(k), the PDF of the amplitude due to noise may be modeled by a Rayleigh distribution or an exponential distribution (the latter distribution is illustributed by PDF 301 of FIG. 3),

${{p_{0}(a)} = {\frac{a}{\beta}{\mathbb{e}}^{- \frac{a^{2}}{2\beta}}}},{a \geq 0}$ or ${{p_{0}(a)} = {\frac{a}{\beta}{\mathbb{e}}^{- \frac{a}{\beta}}}},{a \geq 0}$

However, the PDF of the amplitude of a correct observation may be modeled with Rayleigh distribution or a simple linear between certain ranges (the latter distribution is illustributed by PDF 302 of FIG. 3),

${{p_{1}(a)} = {\frac{a}{\beta + d}{\mathbb{e}}^{- \frac{a^{2}}{2{({\beta + d})}}}}},{a \geq 0}$ or ${p_{1}(a)} = {\frac{2}{L^{2}}a}$

With the amplitude information, the mode probabilities in PDAF are almost in the same form as described above, with only some minor modifications that incorporate the amplitude information. For general multiple observation case,

${\beta_{i}(k)} = \left\{ {{\begin{matrix} \frac{e_{i}}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 1},2,{\ldots\mspace{11mu} m}} \\ \frac{b}{b + {\sum\limits_{i = 1}^{m}\; e_{i}}} & {{i = 0},{false}} \end{matrix}{Where}{e_{i}(k)}} = {{\mathbb{e}}^{{- \frac{1}{2}}{v{(k)}}^{\prime}{S{(k)}}^{- 1}{v{(k)}}}\frac{p_{1}\left( a_{i} \right)}{p_{0}\left( a_{i} \right)}}} \right.$

Any other parameter a_(i) can be associated in the likelihood ratio

$\frac{p_{1}\left( a_{i} \right)}{p_{0}\left( a_{i} \right)}$ to differentiate the correct observation from the false one.

According to another embodiment of the present invention, false measurements due to multipath may be rejected by correctly modeling the multipath-based false observations. Observation residuals due to multipath are more positive than normal observation residuals, the distribution of a false observation can thus be modeled, for example, to be uniformly distributed on the negative side and linearly increasing on the positive side. Such a distribution is illustrated in FIG. 4 by PDF 401, for example. If the residual is negative with probability of 20% and positive with probability of 80%, the PDF for false observations may be provided by:

$p_{0} = \left\{ \begin{matrix} \frac{1}{5{{\gamma\;{S(k)}}}^{1/2}} & {{v(k)} < 0} \\ {\frac{1}{5{{\gamma\;{S(k)}}}^{1/2}} + {\frac{6}{5}\frac{v(k)}{{\gamma\;{S(k)}}}}} & {{v(k)} \geq 0} \end{matrix} \right.$

Thus, when the GPS receiver is not sufficiently modeled by a single model, the IMM estimator allows the GPS receiver to be modeled by multiple models simultaneously. In addition, when there is a probability that some false observations may be incorporated in the GPS navigation calculations, a PDAF improves over a conventional Kalman filter. A possible application of an IMM estimator and PDAFs in GPS navigation is a dynamically changing environment in which a constant velocity model accurately describes the receiver's motion only a portion of the time, while one or more other models incorporating accelerations (e.g., acceleration, deceleration and turns).

Another example for the IMM estimator is a multipath environment in which the IMM estimator uses one model which does not incorporate multipath effects, and another model which incorporates multipath effects. When multipath effects are not present, the first model dominates and provides the navigation output most of the time. When multipath effects are present, the IMM estimator gives greater weight to the multipath model which has a large measurement variance, and may incorporate a multipath false measurement model in a PDAF. Conventional methods can not handle such a situation because multipath effects appear almost randomly.

Yet another example for an IMM estimator and PDAF filters is an environment with very low SNR and with false observations. When false observations are frequent due to a very low SNR, multipath effects, or other effects in a hostile environment to GPS navigation, the PDAF algorithm with some proper statistics models out perform conventional Kalman filters.

The above detailed description is provided to illustrate specific embodiments of the present invention and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the following claims. 

1. A method for performing GPS navigation in a GPS receiver, comprising: providing a plurality of models of GPS navigation, each model characterized by a model state vector which is updated periodically; providing for each model a corresponding probabilistic data association filter (PDAF) for deriving, for each periodic update, a current value for the corresponding model state vector based on a current observation made on parameters affecting the corresponding state vector, wherein each PDAF determines whether the current observation is a correct observation or a false observation such that each PDAF updates the corresponding model state vector if the current observation is a correct observation and does not update the corresponding model state vector if the current observation is a false observation; and applying an interacting multiple model (IMM) estimator to provide, for each period, a current value for a system state vector using the current values of the model state vectors for that period and their corresponding PDAFs.
 2. A method as in claim 1, wherein each model state vectors includes one or more of the following variables: 3-dimensional position, 3-dimensional velocity, clock bias, and clock drift.
 3. A method as in claim 1, where the current value of the system state vector is a weighted average of the current values of the model state vectors and wherein a set of mode probabilities are assigned as weights for the weighted average.
 4. A method as in claim 3, wherein the IMM estimator calculates mixing probabilities for each model based on previous measurements made on the parameters.
 5. A method as in claim 4, wherein for each cycle, prior to deriving the current values of the model state vectors in the filters, using the mixing probabilities, the IMM estimator calculates an initial valve for each model state vector by weighting the current model state vectors of the immediately previous cycle.
 6. A method as in claim 4, using the current values of the model state vectors derived by the filters, the IMM estimator calculates the mixing probabilities for use in the next cycle, and the mode probabilities for providing the current value of the system state vector.
 7. A method as in claim 1, wherein each PDAF applies a statistical difference between the correct observation and the false observation to derive the current value of the model state vector.
 8. A method as in claim 7, wherein the statistical difference is expressed by a first probability density function for the correct observation, and a second probability density function for the false observation.
 9. A method as in claim 8, wherein the first probability density function and the second probability density function are each a function of a distance in standard deviations between the current observation and its nominal value.
 10. A method as in claim 8, wherein the first probability density function and the second probability density function are each a function of a measured value for the parameters affecting the model state vector.
 11. A method as in claim 8, wherein the first probability density function comprises one of: a Gaussian distribution, a Rayleigh distribution or an exponential distribution.
 12. A method as in claim 8, wherein the second probability density function comprises one of: a uniform distribution, a linear distribution, an exponential distribution, or a combination of a uniform distribution and a linear distribution.
 13. A method as in claim 1, wherein one of the models pertains to multipath effects.
 14. A method as in claim 1, wherein one of the models pertains to a signal-to-noise ratio.
 15. A method as in claim 1, wherein one of the models pertains to a GPS receiver moving at constant velocity.
 16. A method as in claim 1, wherein one of the models pertains to motions of non-constant velocities. 